The present invention relates, in general, to signal processing and, more particularly, to blind deconvolution.
Signals are commonly processed using filters to suppress or enhance desired components of the signal or to remove undesired components of the signal. Typically, the signal to be processed comprises more than simply the original or source signal and the desire is to process the signal to recover the original or source signal. Often, however, little is known about the source signal. For example, there may be no knowledge of the source signal or the particular filters, e.g., room acoustics, transmission channels, or the like, that the source signal was subjected to. The filters create time delayed versions of the signal, such as, echoes, intersymbol interference, or the like (referred to as dependencies) resulting in the signal being a composite signal.
Blind deconvolution refers to techniques utilized to remove dependencies from a composite signal to yield the source signal. The techniques are called blind because the source signal is attained without assuming any knowledge of the source signal or the dependencies. The signal may be a digital communications signal, an acoustical signal, an RF signal, or the like and the dependencies may include echoes, reverberations, intersymbol interference, or redundancies of the source signal, among other things.
More particularly, blind deconvolution refers to removing dependencies from an unknown signal s. Unknown signal s is convolved with an unknown filter having an impulse response, a (which creates the dependencies) The resulting corrupted or composite signal x is: ##EQU1## where L.sub.a is the length of filter a and the subscript t refers to time, for example, signal s comprises discrete samples x.sub.0, x.sub.1, . . . , x.sub.t-1, x.sub.t and t is the present time or most recent sample of signal x. (As used herein "*" denotes convolution.) When used with filter coefficients (as in Equation 1), the subscript refers to the delay from the current sample.
Blind deconvolution attempts to recover unknown signal s by learning a filter w which reverses the effect of unknown filter a so that ##EQU2## would be equal to the original signal s. Blind deconvolution assumes that the samples of original signal s.sub.t are statistically independent. As is seen from Equation 1, filter a spreads information from one sample s.sub.t to all samples x.sub.t, . . . , x.sub.t+La. Blind deconvolution attempts to remove these redundancies (also referred to as dependencies).
A. J. Bell and T. J. Sejnowski have shown that a suitable criterion for learning a finite impulse response (FIR) filter for blind deconvolution is to maximize the information at the output of the FIR filter, as discussed in "An information maximization approach to blind separation and blind deconvolution", Neural Computation, 7(6):1004-1034, 1995. Bell and Sejnowski proposed to learn a filter w that is a restoring causal (or adaptive) FIR filter by using an information theoretic measure. The output signal from the FIR filter is passed through a nonlinear squashing function which approximates the cumulative density function of output signal. By maximizing the information transferred through this system, Bell and Sejnowski were able to learn a FIR filter, w, that removes dependencies.
The Bell and Sejnowski approach chops the composite signal into blocks comprising a plurality of consecutive signal samples having a predetermined length, M. The filtering is formulated as a multiplication of a block by a lower triangular matrix having coefficients of filter w, followed by the nonlinear squashing function (denoted herein as function "g"). When the information at the transformed information output block is maximized, dependencies within the block are removed.
As demonstrated by Bell and Sejnowski, information maximization is equal to maximizing the entropy, H(Y), at the output, where entropy is the expectation, E, of the probability density function of the output. Maximizing the entropy is equivalent to maximizing E[ln.vertline.J.vertline.], where J is the Jacobian of the whole system. The Jacobian, J, tells how the input affects the output and, in the method developed by Bell and Sejnowski, is represented as a matrix of partial derivatives of each component of the output block with respect to each component of the input block. By computing the determinant of J and the gradient of ln.vertline.J.vertline. with respect to the coefficients of the matrix (or weights of the filter), Bell and Sejnowski derived a stochastic gradient ascent rule to update the filter coefficients over time (the adaptation rule).
While the method proposed by Bell and Sejnowski yields a good result, it has its limitations. Learning an adaptive filter by the method of Bell and Sejnowski requires complex computations. Further, the Bell and Sejnowski method and adaptation rule is limited to FIR filters. Filters such as infinite impulse response (IIR) or recursive filter cannot be learned from the Bell and Sejnowski adaptation rule because of complex recursive relationships between components of the output block and components of the input block. IIR filters, however, provide a desirable advantage over FIR filters. IIR filters can model complicated and long impulse responses with a small number of coefficients in comparison to FIR filters and do so with less computational complexity than FIR filters.
Accordingly, there is a need for a method of retrieving a source signal from a composite signal without assuming knowledge of the source signal or its dependencies that produces a good quality result without overly complex computations and which is applicable to a variety of adaptive filters.
Blind deconvolution is clearly an ideal tool to remove signal dependencies, such as echoes, of unknown delays and amplitudes. Because echoes are copies of the original or source signal delayed and summed to the original signal, they are redundancies that blind deconvolution tends to remove. While also advantageous in that blind deconvolution retrieves a source signal without knowledge of the signal, current blind deconvolution techniques have limitations when processing certain types of signals, such as, for example, speech signals.
A key assumption made with blind deconvolution is that the original or source signal, s, is white; meaning that consecutive signal samples, s.sub.i and s.sub.j, are statistically independent for all times i and j, where i.noteq.j. While this assumption may be true for signals in digital communications, it is not true for many acoustic signals. For example, speech signals exhibit very strong inherent dependencies when i-j.sup.&lt;.sub..apprxeq. 4 milliseconds, i.e., two consecutive samples of speech (s.sub.i and s.sub.j) are dependent on each other, and this dependency has a scope of approximately four (4) milliseconds. Speech signals are comprised of vocal cord vibrations filtered by the vocal tract, thereby producing short term or inherent dependencies within the speech signal. In addition to these short term dependencies, longer term or noninherent dependencies (e.g. greater than approximately 4 milliseconds for speech signals) are often present in the signal, such as echoes due to room acoustics, transmission reflections, or the like.
Blind deconvolution learns to remove time dependencies present within a signal that fall with in the length of the deconvolution filter w. Thus, while learning to remove dependencies, such as those due to echoes, blind deconvolution also learns to remove the dependencies that are inherent to the speech itself. When processing a speech signal to remove echoes and recover the source signal, commonly referred to as echo cancellation, it is not desirable to remove or filter out the inherent dependencies of the speech that are present in the source signal. The result of doing so is a filtered or whitened speech signal, which sounds like a high-pass filtered version of the original speech.
With current blind deconvolution methods of signal processing, only when there is exact knowledge about the delays of the echoes, can this whitening effect be avoided. In theory, by forcing some filter coefficients to zero, or having taps only at multiples of the delay, the filter would learn the amplitude of the echo to cancel. In practical situations, however, this is not possible because, generally, there are multiple echoes.
Other known techniques for echo cancellation, including, for example, adaptive filters trained by Least Mean Squares (LMS) and Cepstral processing, are also inadequate.
Adaptive filters trained by LMS techniques are beneficial in that they can adapt to changing conditions, such as to moving or varying sources, and they produce a good quality result with relatively low computational complexity. However, training adaptive filters by LMS has limitations. LMS trained adaptive filter techniques require knowledge of the source signal but, often the only known signal is the composite signal. Thus, if the source signal is unknown, LMS trained adaptive filter techniques are of no use.
Cepstral processing techniques permit processing of a composite signal without knowledge of the source signal. With Cepstral processing, the composite signal is processed through a series of Fourier transforms, inverse Fourier transforms, logarithmic and anti-logarithmic operations to reproduce the source signal. Although beneficial in that knowledge of the source signal is not required, Cepstral processing techniques employ complex computations and produce results of only moderate quality. Moreover, although knowledge of the source signal is not required, Cepstral processing requires knowledge of the delays of the echoes, and Cepstral processing techniques are not adaptable to changing conditions.
Accordingly, there is a need for a method of processing signals without knowledge of the original or source signal or its dependencies that retains "desirable" dependencies, such as dependencies inherent to the signal itself, while removing "undesirable" dependencies, such as non-inherent dependencies.